Illustrator file preview, deprecations and more! | This Week in Rails
https://world.hey.com/this.week.in.rails/illustrator-file-preview-deprecations-and-more-1bad759d
Structuring the Active Record Query Guide · Issue #51262 · rails/rails · GitHub
Railsガイドに "Active Record Query Interface" というタイトルのページがあります
Active Record Query Interface — Ruby on Rails Guides
Active Record クエリインターフェイス - Railsガイド
「このページを再構築しようと思うのでフィードバックをください」というお知らせです
再構築しようとしている背景には、完全性を高めたい、わかりやすく、かつ、使いやすくしたい、という思いがあるようです
説明が不足している概念や機能があるよ、であったり、セクションの構成をこう変えたほうが読みやすい、などのアイデアがある方はぜひissueにコメントしてみましょう
Rails World 2024: Call for Proposals @ Sessionize.com
Rails World 2024のスピーカーの応募締切が2024-03-21に迫っているよ、というお知らせです
Rails 8系での新しい機能の紹介、小さな個人開発、あるいはチームでスケールさせる開発、などの観点で、Railsの可能性を押し広げる発表アイデアを期待しているようですね
Illustrator .ai files are previewable as PDFs by jeremy · Pull Request #51235 · rails/rails · GitHub
ActiveStorageに関する変更です
ActiveStorage::Previewer::MuPDFPreviewerというクラスがあります
これはMuPDFライブラリを使用してPDFファイルのプレビューを生成するためのクラスです
今回のプルリクエストでは、このクラスをつかってIllustratorの.aiファイルをプレビューできるように修正しています
実は Marcel v1.0.2以前は.aiファイルはこのクラスをつかってプレビューできました
これはMarcel v1.0.2以前では.aiファイルをPDFとして認識するように処理されていたためです
Marcel v1.0.3以降では.aiファイルをより正確なコンテンツタイプ application/illustrator として識別するようになったため、MuPDFPreviewerクラスでPDFとして認識されず、プレビューが利用できなくなっていました
そこでこのプルリクエストでは、.aiファイルでもPDFとしてプレビューが利用できるように修正しています
具体的なコンテンツタイプの親子関係によって識別するようになっています
そもそも、コンテンツタイプには親子関係があったんですね
application/illustrator は application/pdf を親タイプとして持つようです
Marcel::Magic.child?(Marcel::Magicクラスのクラスメソッドchild?)を使うことで、親タイプとしてPDFを持つファイルはプレビューできるようになりました
Deprecate ConnectionPool#connection by casperisfine · Pull Request #51230 · rails/rails · GitHub
ActiveRecordに関する変更です
ConnectionPoolクラスのconnectionメソッドを非推奨に変更しています
2024-02-26につくられた次のプルリクエストで、connectionメソッドはlease_connectionメソッドに変更されました
Make .connection always return a permanently leased connection by casperisfine · Pull Request #51192 · rails/rails · GitHub
connectionメソッドはlease_connectionへのaliasとして設定されています
今回のプルリクエストでは、connectionメソッドを呼び出したときに非推奨の警告が出るようになりました
プルリクエストのなかのtypoのやりとりがクスッと来ました
https://github.com/rails/rails/pull/51230#discussion_r1509083969